import Mock from 'mockjs';

//******************模拟上传附件/图片请求的接口
const data = Mock.mock({
  'root': {
    url: "@image('50*50','#FF83FA','#FCFCFC','jpg','帅坤')",
    time: "@date(yyyy-MM-dd)"
  }
})
Mock.mock("/api/img","post",(options)=>{
  return {
    status: 200,
    message: "请求成功",
    list: data
  };
})

//************模拟表格数据
const { newsList } = Mock.mock({
  "newsList|75": [
    {
      id: "@increment",
      title: "@ctitle()",
      address:"@city(true)",
      add_time: "@date(yyyy-MM-dd)",
    },
  ],
});
// 处理路径上传的参数
var getQuery = (url, name) => {
  const index = url.indexOf("?");
  if (index !== -1) {
    const queryStrArr = url.substr(index + 1).split("&");
    for (var i = 0; i < queryStrArr.length; i++) {
      const itemArr = queryStrArr[i].split("=");
      if (itemArr[0] === name) {
        return itemArr[1];
      }
    }
  }
  return null;
};
//*********************模拟表格+后端分页请求的接口
// /api/get/news?pageinde1&pagesize=10
// 这里之所以使用正则是因为 在请求这个接口传参时是使用的params，所以参数如上拼接在后面，导致请求会失败
// 所以使用正则来判断，只要接口中有包含 api 且 get 且 news就可以请求成功
Mock.mock(/\/api\/get\/news/, "get", (options) => {
  const pageindex = getQuery(options.url, "pageindex");
  const pagesize = getQuery(options.url, "pagesize");
  console.log(pageindex);
  console.log(pagesize);
  const start = (pageindex - 1) * pagesize;
  const end = pagesize * pageindex;
  const totalPage = Math.ceil(newsList.length / pagesize); // Math.ceil向上取整

  //  pageindex:1 pagesize:10 返回0-9条数据  2-10-（10-19） 3-10（20-29）
  // 数据的起始位置：（pageindex-1）*pagesize 结束位置：pageindex*pagesize
  const list = pageindex > totalPage ? [] : newsList.slice(start, end);
  return {
    status: 200,
    message: "请求成功",
    list: list,
    total: newsList.length,
  };
})

//*********************模拟表格+前端分页请求的接口
Mock.mock("/api/aa","post",(options)=>{
  return {
    status: 200,
    message: "请求成功",
    list: newsList,
    total: newsList.length
  };
})
// console.log(newsList)

